Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги хакеры / журнал хакер / специальные выпуски / Специальный выпуск 2_compressed

.pdf
Скачиваний:
15
Добавлен:
20.04.2024
Размер:
8.01 Mб
Скачать

X/WEB

0027 39

MILLENIUM

Любимые трусы Ростислава Щорса (aka ROST). Изобилие фаллических символов, раскрашенных под итальянский флаг, возбуждает девчонок не хуже всяких “капель любви” и прочей лабуды.

Очень советуем обзавестись подобным летним костюмом! Правда для этого тебе придется сгонять в Италию (где ROST их и прикупил).

Еще одна фишка ROST-a. Типа чиста крутой, чиста совковый, чиста деревяный, чиста мобильный и все такое :). Очень действенное средство, когда надо приколоться над друзьями. Просто, когда кто-нибудь спрашивает “У тебя нет мобильного с собой? Мне надо срочно позвонить”, даешь эту... хм... вещь, и человек сразу же медленно сползает по стенке от хохота.

Ты уже догадался чье это хозяйство? Естественно Добрянского! Вот он! Главный рабочий инструмент Прозвонкина и доктора Добрянского в одном лице. Именно этим девайсом были созданы так любимые тобой “глушилка телевизора” и “лазерофон” Прозвонкина”

40

0028

X/WEB

 

 

MILLENIUM

ФИШКИ

Страшно и ужасно, когда сгорает комп. У A.D.I.D.A.S-а сгорел. Прикинь его состояние в ближайшие 2-3 недели! Но теперь эти 2 платы украшают стены адидасовской комнаты и он вешает девчонкам лапшу на уши, про то, как он ломал сервак Пентагона, но там оказалось супер-новая защита, которая сожгла его комп и чуть было не убила его самого, но он выдержал и всех победил... Ну и дальше в таком же духе :)).

X/WEB

0029 41

MILLENIUM

Тут к нам зашел такой конкретный пацан с четками, по имени Макс Зелененко (aka Гек). Раскидал палцы, сказал, что он самый крутой и все такое. Ну мы немного опешили, да, говорим, ты самый крутой, это видно и без четок. Но четки все же фоткнули, уж больно они прикольно срабатывают при пальцовке :).

Миша Терехов (aka Чук) не расстается с этим плеером нигде. Он постоянно его слушает, чем, на самом деле, обламывает многих чуваков из команды. Ну прикинь сам, ты с Михой говоришь, а он там непонятно что слушает и ты не понимаешь, что у него там в голове - твои слова или какиенибудь “Fuck the Millenium!!!!”. Впрочем, как говорит Миха, с музыкой по-жизни тусоваться прикольно, так как ты всегда сам хозяин своего настроения.

42

002A

X/WEB

 

 

MILLENIUM

САЙТ ПО КИРПИЧИКАМ

Андрей Князев (kniazev@xakep.ru)

“ACCEPT“ACCEPT__LALANGUGE”,“AUTHGUGE”,“AUTH__TYPE”,TYPE”, “DATE“DATE__GGMT”,T”, “DATE“DATE__LOCAL”,LOCAL”, “DOCU“DOCU-- MENTE T__NAME”,A E”, “DOCU“DOCUMENTE T__URI”,URI”, “CO“CON-- TETENTT__LELENGTH”,GTH”, “CO“CONTENTTE T__TYPE”,TYPE”, “GATE“GATE-- WAYAY__IINTERFACE”,“HTTPTERFACE”,“HTTP__ACCEPT”,ACCEPT”, “HTTP“HTTP__COOKIE”,COOKIE”, “HTTP“HTTP__FORFORWARDED”,ARDED”, “HHTTTTPP__FFRROO M,,HHTTTTPP__RREEFFEERREERR,, “HTTP“HTTP__USERUSER__AGEAGENT”,T”, “LAST“LAST__MODIFIED”,ODIFIED”, “PATH“PATH__IINFO”,“PATHFO”,“PATH__TRATRANSLATED”,SLATED”, “QQ UU EE RR YY __ SS TT RR II N GG ,, QQUUEERRYY__SSTTRRII NGG__UU NEESSCCAAPPEEDD,, “RE“REMOTEOTE __ADDR”,“READDR”,“REMOTEOTE __HOST”,HOST”, “RE“REMOTEOTE __IDEIDENT”,“REMOTET”,“RE OTE __USER”,USER”, “REQUEST“REQUEST__METHOD”,“SCRIPTETHOD”,“SCRIPT__NAME”,A E”, “SERVER“SERVER__NAME”,A E”, “SERVER“SERVER__PORT”,PORT”, “SERV“SERV--

Длинное вступление

Ïеред любым мало-мальски серьезным сайтостроителем рано (гораздолучше) или поздно (опыт - сын оши-

бок трудных) встает проблема уменьшения ручной работы, унификации кода сайта и вообще... Вполне резонное желание делать поменьше, а результат получать быстрее упирается только в возможность - как это сделать?

И тут на помощь может придти довольно простой, но в то же время чрезвычайно мощный инструмент. Имя ему - Server Side Includes, сокращенно - SSI. Наиболее естественно и полно поддержка SSI традиционно реализована в web-сервере Apache, впрочем и во всех остальных Web-серверах (Netscape, MS IIS и проч.) она тоже наличествует.

Для чего может быть полезен SSI? Самый простой пример. Предположим, решил ты, знатный

наш перец, удивить мир своим сайтом. Все бы хорошо, да вот только FrontPage издох, хомяк (HomeSite) умер с перепоя и остался ты один в этом мире, одинешенек. Одна надежда, что ручки шаловливые выведут. И они таки выведут. Но только в том случае, если сайт не большой или обновления на сайте - раз в пятилетку. Правда, это уже не сайт, а похоронная контора, но об этом позже. Сайт должен быть большим, интересным, живым и обновляемым. Довольно распространенной (притом очень вежливой и разумной) считается манера размещать управляющее меню сайта на каждой странице. Естественно, что вид этого меню может быть сколько угодно прихотливым - главное, чтобы это меню присутствовало на всех страницах! Кроме того, очень бы хорошо еще и баннерную рекламку крутить, да еще кнопочки дружественных сайтов забабахать, да еще...

короче - не перечесть.

А теперь представь себе кошмар, когда один раздел добавился, а другой умер, баннерную сеть надо срочно менять, а с другом ты разругался в дребадан и его поганую кнопку (чтоб он всю жизнь во FrontPage Express сайты ваял) ты хочешь выкинуть с сайта раз и навсегда. При этом на сайте, ну, хотя бы с 50 страниц есть. Вопрос - сколько файлов в каждом случае придется изменять?

Неправильный ответ - 50. Правильный ответ - 1. Но только в том случае, если используются SSI. Наверное, пора перестать темнить и рассказать, что к чему. :)

Да будет свет!

Все дело в том, что технология SSI позволяет вставлять в гипертекстовый документ “внешние” файлы. Т.е. - я делаю шаблон страницы, а

 

 

 

X/WEB

002B

43

MILLENIUM

 

 

 

 

 

if’ “<oper

 

rat

“<operan

 

 

ion

<!—#if

 

 

 

ER

hasstrin

 

 

 

illa

Mozilllal

 

 

 

 

<!—#got

 

 

 

el”

в нем, с помощью однотипных команд, идет от-

Синтаксис 1

 

 

 

сылка на несколько блоков - кирпичиков. Один

 

конечно, накладывает некоторые ограничения

блок служит - для заголовка, один - для меню,

Главный оператор, которым придется пользо-

на то, чтобы удобно разместить вкладываемый

еще один - для кнопок, да еще два (побольше,

ваться чаще всего - это “include”. В общем слу-

файл. В этой команда нельзя применять гипер-

побольше) - на рекламу. И так из этих кирпичи-

÷àå SSI директива имеет вид: <!—#include

ссылки (хотя это в любом случае дурной тон).

ков страница и собирается.

 

virtual=”myfile.txt”—>.

Однако иногда бывает полезно показать работу

Файлы, сделанные с применением SSI, обычно

<!— —> - это стандартный комментарий (ес-

сайта непосредственно на “рабочем” компью-

имеют расширение .shtml. “Лишняя” “S” â

ли вдруг сервер не сможет распознать команду

тере, и тогда можно (нужно) использовать

начале расширения говорит серверу, что в до-

или не поддерживает ее, то она просто будет

вместо virtual команду file. При этом адрес

кументе могут быть SSI инструкции. И сервер

пропущена);

можно задавать в виде абсолютного адреса

тогда их в состоянии грамотно обработать.

 

#include - собственно сама команда;

(C:\VasyaPupkin\Site\XXX\myfile.txt). Íî

Таким образом получается, что к тому, кто

virtual - указывает на “âèä” пути к файлу;

это все-таки экзотика.

 

 

страницы смотрит, уходит точно такой же

myfile.txt - имя вставляемого файла.

 

 

 

объем кода, но при этом трудоемкость моди-

Естественно, что имя у включаемого файла мо-

В общем случае на команде virtual и заканчи-

фикации и создания новых страниц для их ав-

жет быть любым - с любым расширением (или

вается общепринятое

использование

Server

тора заметно уменьшается.

 

без оного). Главное, - это “начинка” файла. Со-

Side Includes - Включений на стороне серве-

Что ж, я нарисовал замечательную перспекти-

вершенно понятно, :) что это должен быть

ра. И, наверное, это справедливо - что еще

ву, но настырные голоса вопиют - “Show me

HTML.

нужно знать, чтобы собирать сайт из кусочков?

the money”, т.е. объясни, как же это все де-

Касательно “вида” пути (команда virtual). Если

Но для тех, кто понимает толк в сайтострои-

лается. Рассказываю...

 

сервер проектируется для Web’a (скорее все-

тельстве, самое интересное начинается там,

44

002C

X/WEB

 

 

 

 

MILLENIUM

operand1>” <operator> “

 

 

 

<!—#if

 

 

 

hasstrin

И тут на помощь может придти

На моем сервере используется такое ÏÎ, êàê:

 

mod_perl/1.16_02

 

 

 

 

Apache/1.3.9 (Unix) PHP/3.0.6

 

довольно

простой, но в то же

Для просмотра ты, странник, исполь-

 

зуешь Mozilla/4.0 (compatible; MSIE 4.02;

 

 

 

 

 

время чрезвычайно мощный ин-

Windows NT). Must DIE! / Rulezzz forever!

 

www.super-world-porno.com/uti-puti.htm.

 

 

 

 

А пришел ты сюда со странички:

 

струмент. Имя ему - Server Side

Стоит показать такую страницу всем своим

 

>

 

 

 

 

друзьям, как они тут же тебя убоятся. Шутка ли,

 

Includes, сокращенно - SSI.

столько о них узнать. :)

 

echo-команд (в алфавитном порядке):

 

 

 

 

Для особо пытливых приведу полный список

 

 

 

 

<!—#got

 

 

 

“ACCEPT LANGUGE”, “AUTH TYPE”,

 

 

 

 

“DATE GMT”, “DATE LOCAL”, “DOCU-

 

 

 

 

MENT_NAME”, “DOCUMENT_URI”, “CON-

 

 

 

 

TENT_LENGTH”, “CONTENT_TYPE”, “GATE-

 

labelìíå, íå ìàëî).

 

 

WAY_INTERFACE”, “HTTP_ACCEPT”,

 

=”Mozilllabel”тер с использованием в настройках proxy: зай- “PATH INFO”, “PATHTRANSLATED”,>

 

где останавливаются все остальные.

<!—#echo var=”REMOTE HOST”—> - âû-

“HTTP COOKIE”, “HTTP FORWARDED”,

 

Так давайте на всю катушку использовать те

ведет имя компьютера гостя. Очень простой

“HTTP FROM”, “HTTP REFERER”,

 

возможности, которые дает SSI (а их, поверьте

трюк для определения - работает ли компью-

“HTTP USER AGENT”, “LAST MODIFIED”,

 

 

 

ти на свою собственную страницу и прочитать

“QUERY_STRING”,

 

 

 

адрес, полученный в ответ на команду

“QUERY_STRING_UNESCAPED”,

 

Синтаксис 2

 

REMOTE_HOST.

“REMOTE_ADDR”, “REMOTE_HOST”,

 

 

 

<!—#echo var=”SERVER_SOFTWARE”—>

“REMOTE_IDENT”, “REMOTE_USER”,

 

Условно говоря, у SSI есть две большие облас-

- имя используемого провайдером HTTP серве-

“REQUEST_METHOD”, “SCRIPT_NAME”,

 

ти применения: первая - это вставлять внеш-

ра; иногда это бывает очень полезно знать; :)

“SERVER_NAME”, “SERVER_PORT”, “SERV-

 

ние файлы, а вторая - вставлять так называе-

<!—#echo var=”SERVER_NAME “—> - èìÿ

ER_PROTOCOL”, “SERVER_SOFTWARE”.

 

мые “переменные окружения”.

компьютера, на котором работает web-сервер;

Кто-то скажет, - “и это все?”. Нет! На этом чу-

 

Делается это командой вида: <!—#echo

тоже небезынтересно знать; :)

äåñà SSI еще не заканчиваются.

 

var=”echo_command”—>, ãäå echo_com-

<!—#echo var=”HTTP_USER_AGENT”—> -

Приведу еще несколько любопытных и полез-

 

mand - переменная величина и может прини-

одна из самых любимых команд - позволяет

ных команд.

 

мать порядка 30 значений. Все я толковать не

определить тип браузера посетителя;

Email. В простейшем варианте позволяет от-

 

буду (справочник по SSI можно найти на Web’е

<!—#echo var=”HTTP_REFERER”—> - ïî-

править заранее составленное сообщение на

 

без труда), но самые важные - обязательно:

казывает URL, откуда “клиент” пришел (иногда

заранее определенный адрес.

 

<!—#echo var=”DOCUMENT_NAME”—> -

может быть полезна для того, чтобы опреде-

Пример: <!—#email tohost=”xakep.ru”

 

выдаст на экран локальное имя текущего доку-

лить “скрытый” адрес);

message=”You made the coolest maga-

 

мента, к примеру: “ya_garni_peretz.htm”

<!—#echo var=”GATEWAY_INTERFACE”—

zine, that people ever made!” toad-

 

(очень полезен для тех, у кого частый склероз);

> - фактически дает версию CGI ПО провайдера.

dress=”test@xakep.ru” subject=”SSI is

 

<!—#echo var=”DOCUMENT_URL”—> -

С помощью SSI, не прибегая к скриптам на Яве

coolest tool in the world, ya-ba-da-ba-

 

покажет локальный путь к документу, считая от

и прочим Общим Шлюзовым (cgi) прибамба-

doo!”—>.

 

корневой директории Web-сервера, т.е. адрес

сам, можно легко и непринужденно делать на

Параметров у этой команды, конечно, больше,

 

òèïà: /win/mydocs/ssi-tutor/baklan.htm.

странице сообщения типа:

чем приведенные здесь. Здесь указаны только

 

<!—#echo var=”DATE_LOCAL”—> - âûâå-

Всем большой хай!

4 необходимых (обязательных) команды: tohost

 

дет текущие, локальные дату и время;

Сегодня у нас Sunday, 27-Feb-2000 20:30:07

- на какой хост (почтовый сервер) отправить

 

<!—#echo var=”LAST_MODIFIED”—> - ïî-

Московское время (зима).

письмо, message - текст самого послания,

 

кажет дату последней правки текущего файла;

Последний раз этот документ был изменен

toaddress - почтовый адрес, на какой слать

 

<!—#echo var=”REMOTE_ADDR”—> - âû-

Monday, 21-Feb-2000 23:00:00 MSK.

письмо, и последнее - subject, легко дога-

 

ведет ip вошедшего на страницу;

Твой IP адрес, незнакомец: 193.233.5.100

даться - тема письма.

 

X/WEB

002D 45

MILLENIUM

“<operand2>” <operation

“&&HTTP_USER_AGEN

gПонятно,“Mozilla”что при таком синтаксисе команды только она встречается,gotoнемедленно и безуствлятьMozilllalвывод определенного текста в зависиписьмо будет отправляться каждый раз при заловно останавливает дальнейший вывод докумости от условий.

ходе посетителя на страницу с этой командой. мента. В общем виде синтаксис команды выглядит так:

Точно таким же образом можно использовать

Пример: <!—#break —>.

if’ “<operand1>” <operator>

эту команду в ответе на заполнение формы

Чрезвычайно проста в использовании и не ме-

“<operand2>” <operation>.

(форму можно отправлять на анонимный ад-

нее чрезвычайно полезна при отладке важных

На месте последней команды “operation” ìî-

рес, а письмо с уведомлением на более реаль-

страниц. Я думаю, ни у кого не возникает сом-

жет быть один из операторов: ‘goto’, ‘print’,

íûé. :)

нений, что страницу на гипертексте тоже мож-

‘error’, ‘break’, ‘errorbreak’ èëè ‘print-

Fsize. Команда выводит в текущий документ

но (и нужно!) отлаживать.

break’.

размера указанного файла.

Безусловно, это не все тэги, доступные в син-

Очень простой пример - допустим, нужно пока-

Пример: <!—#fsize virtual=”../log-file.txt”—>.

таксисе SSI. К примеру, за скобками остались

зывать что-то использующим определенный

Может быть полезна для удаленного контроля

такие команды, как exec (позволяет выполнять

браузер и не показывать это остальным - не

размера лога или еще для каких целей.

внешние программы и cgi-скрипты), или сonfig

хрена им не в свое дело лезть.

Flastmod. Эта команда позволяет включить в

(изменяет вывод таких, к примеру, команд, как

Пишем:

документ дату последней модификации любого

fsize, flastmod, позволяя настроить нужный

<!—#if “&&HTTP USER_AGENT&&” has-

доступного файла.

формат выдачи сообщений.

string “Mozilla” goto Mozilllalabel—>

o =”defaultlabel” —>

Пример: <!—#flastmod virtual=”mysuper-

 

<P>Ты, пацан попал, у тебя неправильный

file.htm”—>.

 

браузер, и здесь ты ничего не увидишь

В отличие от echo-команды, команда

Немного программирования

<!—#goto =”defaultlabel” —>

Flastmod скажет “всю правду” о любом ин-

 

<!—#label =”Mozilllabel” —>

тересующем файле!

Конечно, в SSI кое-что есть от программи-

<P>А ты пацан клевый, и мне очень нравится

Очень хороший способ для начальников кон-

рования. Но все же большинство команд -

твой браузер :).

тролировать их нерадивых подчиненных (шу-

статичны. Тем не менее, для тех, кто хочет

<!—#label =”defaultlabel” —>

чу). Но на самом деле очень удобно - де-

делать по-настоящему динамически изме-

(Здесь уже можно ничего не писать). :)

лаешь себе одну страничку, где идет список

няемые страницы, придутся по душе нес-

Все просто, просто до безобразия.

всех файлов, и после обновлений на сайте

колько “чисто программистских” операто-

Можно использовать IF для того, чтобы срав-

смотришь - не перепутал ли чего. :) Оно ведь

ров, содержащихся в SSI.

нивать текст в формах. Т.е. можно проверить

всяко может быть.

Из всех операторов программирования са-

идентичность заполнения форм (а вдруг чело-

Break. Как легко понять из имени команды, она

мым важным для нас, безусловно, является

век ошибся) или напоминать гостю, что какую-

занимается прерыванием. :) Эта команда, как

оператор IF. Â SSI òåã IF позволяет осущес-

то позицию формы он не заполнил. Вежливо и

 

 

элементарно. :)

 

 

В примере выше я использовал два стандар-

 

 

тных оператора - goto è label. Надо “осветить”

Для отладки сайта са-

их чуть более подробно.

Goto. Используется в связке с меткой label

(ñì. íèæå).

Синтаксис команды: <!—#goto

мое милое дело - это

=”<label>”—>

Пример. <!—#goto =”secretlabel” —>

<P>Это увидят только те, кому положено ви-

äåòü

 

 

установить

собствен-

<!—#label =”secretlabel” —>

<P>А этот текст увидят все, без разбора.

Важное замечание: между символами <!—

#goto и знаком “=” обязательно должен

 

 

íûé web-сервер..

стоять пробел.

Label. Соответственно устанавливает метку,

которую так щедро используют операторы

 

 

goto èëè if..goto.

 

 

Синтаксис команды: <!—#label =”<label>”—>

46

002E

X/WEB

 

 

MILLENIUM

 

 

html

 

http://www.cybersl acker.com/index5.html

Причем строка из не более чем 51 символ без

внутри директории \conf и имеют одноименное

 

пробелов.

расширение):

 

Наличие метки никак не влияет на форматиро-

 ôàéë httpd.conf необходимо будет добавить

 

вание документа.

следующие строки (скорее всего их там нет): :)

 

Важное замечание: так же, как и у оператора

AddType text/html .shtml

 

goto, между символами <!—#goto è çíà-

AddHandler server-parsed .shtml

 

êîì “=” обязательно должен стоять пробел.

Это наиболее стандартный ход. Впрочем,

 

 

вместо .shtml можно написать .html èëè

 

 

.phtml - главное, чтобы расширение было

 

Дополнительные замечания

идентично расширению, которые исполь-

i

 

зует для обозначения использующих SSI

Для отладки сайта самое милое дело - это ус-

файлов провайдер.

 

тановить собственный web-сервер. Наиболее

И, естественно, нужно будет включить сам “ме-

 

естественно это реализовано под юниксами, но

ханизм” вложения, а для этого добавить во все

 

и под Вынью есть жизнь. Понятное дело, не

òîò æå httpd.conf к команде Options слово

 

стоит устанавливать IIS, какие бы златые горы

Includes.

o

ни сулила за это Micro$soft. Наиболее рулез-

Тогда строка с командой Options может при-

ным сервером всех времен и народов был и ос-

íÿòü âèä:

тается Apache. Скачать дистрибутив для Win32

Options Indexes FollowSymLinks Includes.

 

можно зайдя на www.apache.org и выбрав там

После всего этого шаманства остается лишь

 

ближайшее зеркало. Дистрибутив снабжен ин-

запустить сервер (запустить .bat’ничек под 95-

 

сталляшкой, и справиться с его установкой лег-

98), либо (NT & Win2000 - читайте инструкцию)

e

че легкого.

сделать Apache службой и запускать его, по ме-

 

Все файлы сайта необходимо положить в ка-

ре надобности, как сервис.

 

талог \htdocs внутри директории с Апачем

Адрес локального сервера имеет вид:

 

(по умолчанию в этой директории лежат фай-

http://localhost/, что эквивалентно ip-àäðå-

 

лы справки к Web-серверу). После этого ос-

ñó 127.0.0.1.

 

тается самый “трудный” этап - необходимо

 

 

сконфигурировать и запустить сервер. Пос-

 

 

кольку Апач для win32 кровный брат Апача для

Ну и хватит

 

юниксов, то вся конфигурация заключается в

 

 

изменении нескольких текстовых файлов.

Так что дело за малым - скачать web-

 

Всего таких файлов 6, но менять придется 1-

сервер, настроить его, запустить и... -

 

2. В любом случае, чтобы подогнать сервер

начать ваять свой сайт. Не забывая при

e

под свои конкретные нужды, лучше почитать

этом вовремя его отлаживать и пользо-

разные help’û, faq’è è manual’û. Ýòî íè-

ваться при этом всеми современными

когда не повредит.

фичами, которые только есть. Я пола-

 

Для того чтобы включить поддержку SSI в

гаю, что SSI далеко не устаревшая вещь,

 

Apache, необходимо проделать следующие ма-

так что она нам еще послужит.

 

нипуляции (все файлы конфигурации лежат

Удачи!

 

 

 

ttp://w

48

0030

X/WEB

 

 

MILLENIUM

VRML РЕДАКТОР -- ЭТО НЕ РОСКОШЬ,, А СРЕДСТВО ВЫЛЕЧИВАНИЯ ГЕМОРОЯ

Horrific (smirnandr@mail.ru)

Самый лучший номер 1

Ïервым редактором, с которым ты сегодня познакомишься, будет “Íî-тепад”, или еще его называют

“Блокнот”. То, что я рассказываю о нем первым, еще не значит, что он лучший. Почему это не “значит”, он лучший! Ан нет, не лучший. Нет, я сказал, что лучший. МОЛ- ЧААААТЬ. А ч¸ он... Я сказал молчать, говорить буду я. Извини, это тут остальные мои “я” влезают в мой рассказ. Продолжим.

У так называемого нотепада полно преимуществ и недостатков. И только попробуй слово сказать. Извини, это я сам себе, психушка, понимаешь ли.

Основным преимуществом является его гибкость. Это не значит, что “нотепад” можно гнуть. Это значит, что ты сможешь создавать миры любой сложности. Ты не ограничен возможностями даже крутого визуального редактора. Единственное ограничение - это полет твоей мысли. Если у тебя мысли не летучие, то попробуй выпить 100 граммов, только не надо нажираться в блевантинную, а то все мысли разлетятся.

Недостатком я назову то, что не каждый может мыслить абстрактно, субстрактно и рестрактно (о, какие я словечки придумал!) на бумаге. Чтобы создать свой виртуальный мир с помощью блокнота, нужно уметь думать программерски. В основном программеры умеют думать “процедурно” или “объектно”, а простому смертному это не всегда по мозгам. Если ты не можешь

Что такое VRML, ты уже, наверное, знаешь. Нет еще? Ну, представь себе: заходишь ты на сайт и попадаешь вместо стандартной странички с текстом в крутой затекстуренный трехмерный объект, по уровню графики не хуже старичка DOOM’a. Круто? Ну так Х плохого не подкинет! Правда, весит это добро немало, но того стоит.

Как ты уже допетрил, для создания VRML используются соответствующие редакторы.

Я долго думал, какой редактор VRML-миров является самым лучшим. И так сильно напрягался, что начал спорить сам с собой, что лучше - “Нотепад” или крутая графическая прога. Я спорил сам с собой около часа, пока к нам ни присоединился третий “Я”, который сказал: “Лучший редактор VRML - это специализированная прога”. Тут я понял, что двоих самих себя не переспоришь, и добровольно направился на исправительные работы в ближайшую психиатрическую лечебницу. Куда еще может отправиться человек, пытающийся переспорить двоих самих себя.

Вот сижу я теперь в белой рубашке с длинными рукавами, завязанными на спине, и скучаю. Как сказали врачи, рубашка нужна, чтобы я не надавал по морде моим собеседникам, то есть самому себе. И тут мою дурную голову посетила мысля, а не рассказать ли тебе о всех преимуществах и недостатках разных VRML редакторов. А вдруг ты тоже после этого захочешь присоединиться ко мне. Вот уж мы с тобой повеселимся. Итак, устраивайся поудобнее, щас и ты начнешь спорить сам с собой.

в блокноте написать HTML-код своей странич- ки, то VRML можешь даже и не пробовать, тебе прямая дорога в визуализацию.

Заметь, что я не назвал недостатком необходимость знания языка VRML. Этот язык тебе не помешает знать в любом случае, чтобы оптимизировать работу визуального редактора. А там всегда есть, что оптимизировать.

Самый лучший редактор номер 2

Теперь посмотрим на специализированный редактор. Для примера возьмем тот, что завалялся у меня на диске. Эту прогу написала фирмочка RenderSoft (у меня такое ощущеньице, что эта фирма состоит максимум из двух крутых челов). А названьице у проги не более оригинальное - “RenderSoft VRML Editor”. Ýòî

воистину специализированный редактор, который заточен, зализан, замазан и заделан специально для создания wrl файлов. Эту прогу ты можешь забрать здесь: http://home.pacific.net.sg/~jupboo/rs2.zip. И весит она достаточно божески, всего-то 882 кило.